package gov

//杭州银行
const (
)

//公共参数
type ArgsHCCB struct {
	Version 	string	`json:"version"`//版本号
	Signature 	string	`json:"signature"`//签名
	CertId 		string	`json:"certId"`//证书 ID
	SignType 	string	`json:"signType"`//签名类型
	TxnType 	string	`json:"txnType"`//交易类型
	OrderId 	string	`json:"orderId"`//订单号
	TxnTime 	string	`json:"txnTime"`//交易发送时间
	BusinessData 	interface{}	`json:"businessData"`//数据
	Attach 			interface{}	`json:"attach"`//附件
}

//公共响应
type ReplyHCCB struct {
	Version			string	`json:"version"`//版本号
	Signature		string	`json:"signature"`//签名
	CertId			string	`json:"certId"`//证书 ID
	SignType		string	`json:"signType"`//签名类型
	TxnType			string	`json:"txnType"`//交易类型
	OrderId			string	`json:"orderId"`//订单号
	TxnTime			string	`json:"txnTime"`//交易发送时间
	BusinessData	interface{}	`json:"businessData"`//数据
	Attach			interface{}	`json:"attach"`//附件
}

//打款验证请求参数
//type VerifyPayment struct {
//	MerId		string	`json:"merId"`	//商户代码
//	RiskInfo	string	`json:"riskInfo"`//风险信息域
//	AppId		string	`json:"appId"`	//APPID应用ID
//	RootAccNo	string	`json:"rootAccNo"`//对公户账号
//	CustomerNm	string	`json:"customerNm"`//户名
//	UnionBankNo	string	`json:"unionBankNo"`//联行号
//}
type VerifyPayment struct {
	RiskInfo	string	`json:"riskInfo"`//风险信息域
	RootAccNo	string	`json:"rootAccNo"`//对公户账号
	CustomerNm	string	`json:"customerNm"`//户名
	UnionBankNo	string	`json:"unionBankNo"`//联行号
	MerId		string	`json:"merId"`	//商户代码
	AppId		string	`json:"appId"`	//APPID应用ID
}

//打款验证返回参数
type ReplyVerifyPayment struct {
	MerId		string	`json:"merId"`//商户代码
	RespCode	string	`json:"respCode"`//应答码
	RespMsg		string	`json:"respMsg"`//应答信息
	SystemFlow	string	`json:"systemFlow"`//银行方流水号
}

//换绑-请求参数 暂时只写个人
type ChangeBinding struct {
	MerId string	`json:"merId"`//商户代码
	RiskInfo string	`json:"riskInfo"`//风险信息域
	MerchantNo string	`json:"merchantNo"`//子商家商户号
	MerchantName string	`json:"merchantName"`//子商家名称
	MerchantType string	`json:"merchantType"`//商户类型
	BindType string	`json:"bindType"`//绑定类型
	CustomerNm string `json:"customerNm"` //姓名-个人必输
	CertType string	`json:"certType"`//证件类型-个人必输
	CertifId string	`json:"certifId"`//证件号-个人必输
	PhoneNum string	`json:"phoneNum"`//手机号-个人必输
	RootAccNo string `json:"rootAccNo"`//绑定的银行账号
}

//换绑返回参数
type ReplyChangeBinding struct {
	MerId string	`json:"merId"`//商户代码
	MerchantNo string	`json:"merchantNo"`//子商家商户号
	RespCode	string	`json:"respCode"`//应答码
	RespMsg		string	`json:"respMsg"`//应答信息
	SystemFlow	string	`json:"systemFlow"`//银行方流水号
	RootAccNo string `json:"rootAccNo"`//绑定的银行账号
}

//查询余额请求参数
type QueryBalance struct {
	MerId string	`json:"merId"`//商户代码
	RiskInfo string	`json:"riskInfo"`//风险信息域
	MerchantNo string	`json:"merchantNo"`//子商家商户号
	MerchantName string	`json:"merchantName"`//子商家名称
	MerchantType string	`json:"merchantType"`//商户类型
	BindType string	`json:"bindType"`//绑定类型
}

//查询余额返回参数
type ReplyQueryBalance struct {
	MerId string	`json:"merId"`//商户代码
	MerchantNo string	`json:"merchantNo"`//子商家商户号
	RespCode	string	`json:"respCode"`//应答码
	RespMsg		string	`json:"respMsg"`//应答信息
	SystemFlow	string	`json:"systemFlow"`//银行方流水号
	AccNo string `json:"accNo"` //客户账号
	AccSta string `json:"accSta"` //账户状态 00- 有效 01- 无效
	Balance string `json:"balance"` //账户总余额
	AvaiBalance string `json:"avaiBalance"` //可提现余额
	Interest string `json:"interest"` //利息余额
	BondBalance string `json:"bondBalance"` //监管余额
	OnAccBalance string `json:"onAccBalance"` //挂账余额
}

//资金核销订单接收
type OrderWriteOff struct {
	MerId string	`json:"merId"`//商户代码
	RiskInfo string	`json:"riskInfo"`//风险信息域
	MerchantNo string	`json:"merchantNo"`//子商家商户号
	MerchantName string	`json:"merchantName"`//子商家名称
	PrePayCardNo string `json:"prePayCardNo"`//预付卡卡号 (可传relationid)
	CurrencyCode string `json:"currencyCode"` //币种 默认是 156：人民币
	TradeAmount string `json:"tradeAmount"` //核销金额
}

//资金核销订单接收返回参数
type ReplyOrderWriteOff struct {
	MerId string	`json:"merId"`//商户代码
	RespCode	string	`json:"respCode"`//应答码
	RespMsg		string	`json:"respMsg"`//应答信息
	SystemFlow	string	`json:"systemFlow"`//银行方流水号
	BusiDate	string	`json:"busiDate"` //业务日期
}

//核销结果查询
type QueryOrderWriteOff struct {
	MerId string	`json:"merId"`//商户代码
	RiskInfo string	`json:"riskInfo"`//风险信息域
	MerchantNo string	`json:"merchantNo"`//子商家商户号
	OrgOrderId string	`json:"orgOrderId"` //原订单号
	PrePayCardNo string	`json:"prePayCardNo"` //预付卡卡号
	TradeAmount string	`json:"tradeAmount"` //核销金额
}

//核销结果查询返回结果
type ReplyQueryOrderWriteOff struct {
	MerId string	`json:"merId"`//商户代码
	RespCode	string	`json:"respCode"`//应答码
	RespMsg		string	`json:"respMsg"`//应答信息
	OrderState  string	`json:"order_state"`//核销结果 00- 未核销，核销受理中 01- 核销成功 02- 已撤销 03- 核销失败 04- 未核销，参数校验失败（交易需要撤销） 05- 余额不足 11- 原交易不存在
	SystemFlow  string  `json:"systemFlow"` //银行方流水号
}

//收单入账资金明细文件推送
type PutFile struct {
	MerId string	`json:"merId"`//商户代码
	FileName string `json:"fileName"`	//文件名
	TotalNm string	`json:"totalNm"`//总笔数
	SettlementDate string `json:"settlementDate"`//清算日期
	BatchNo string	`json:"batchNo"`//批次号
	File1MD5 string `json:"file1MD5"`//文件验证码
	//FileContent1 string `json:"fileContent1"`//文件内容
}


//提现
type Cash struct {
	MerId string	`json:"merId"`//商户代码
	RiskInfo string	`json:"riskInfo"`//风险信息域
	MerchantNo string	`json:"merchantNo"`//子商家商户号
	MerchantName string	`json:"merchantName"`//子商家名称
	TradeType string `json:"tradeType"` //提现类型 00 余额提现 05 利息提现
	CurrencyCode string `json:"currencyCode"` //币种 默认是 156：人民币
	TradeAmount string `json:"tradeAmount"` //订单金额(交易单位为分， 例:1.23 元=123)， 只能整数
}

//提现返回参数
type ReplyCash struct {
	MerId string	`json:"merId"`//商户代码
	RespCode	string	`json:"respCode"`//应答码 004 已受理
	RespMsg		string	`json:"respMsg"`//应答信息
	SystemFlow	string	`json:"systemFlow"`//银行方流水号
	BusiDate	string	`json:"busiDate"` //业务日期
}


//核销结果查询返回结果
type QueryCash struct {
	MerId string	`json:"merId"`//商户代码
	RiskInfo string	`json:"riskInfo"`//风险信息域
	MerchantNo string	`json:"merchantNo"`//子商家商户号
	BusiDate string `json:"busiDate"` //业务日期
	OrgOrderId string	`json:"orgOrderId"` //原订单号
}
